package types

import (
	"reflect"
	"time"

	"gitee.com/knowgo/ego/egoc"
)

var errorType = reflect.TypeOf((*error)(nil)).Elem()
var timeType = reflect.TypeOf((*time.Time)(nil)).Elem()
var contextType = reflect.TypeOf((*egoc.Context)(nil)).Elem()
var funcInfoType = reflect.TypeOf((*egoc.FuncInfo)(nil)).Elem()

// IsError 是不是错误接口
func IsErrorType(typ reflect.Type) bool {
	return errorType == typ
}

// IsTimeType 是不是时间类型
func IsTimeType(typ reflect.Type) bool {
	return timeType == typ
}

// IsContextType 是不是 ego.Context 类型
func IsContextType(typ reflect.Type) bool {
	return contextType == typ
}

// IsFuncInfoType 是不是 ego.FuncInfo
func IsFuncInfoType(typ reflect.Type) bool {
	return funcInfoType == typ
}
